<?php
define("VER_DEFAULT",-1);
define("VER_ID", FileID::toOrdinal("veranstaltungen"));
define("VER_EDIT",1);
define("VER_UPDATE",2);
define("VER_UPDATE_HAELT",3);
function help_veranstaltung_default()
{
	return tooltip_help("Veranstaltungen enthalten nur Informationen über Kurse und Vorlesungen. Soll eine Veranstaltung \"gehalten\" werden, ist diese im Sommeruni-Programm \"geplant\". Dazu gehört ein Termin, Raum und ein dazugehöriger Dozent.");

}
function help_veranstaltung_haelt_dozenten()
{
	return tooltip_help("Die ID eines Dozenten finden Sie im Abschnitt Dozenten.");

}
function help_veranstaltung_haelt_datum()
{
	return tooltip_help("Das Datum hat das Format JAHR-MONAT-TAG, mit einem klick auf das Datum öffnet sich ein Kalender, mit dem Sie das Feld bequem editieren können.","Datum");

}
function defaultVeranstaltungen(){
	$_ENV['cTitle'] = "Veranstaltungen";
	$out = "";
	$out.= help_veranstaltung_default();
	$veranstalt = db_get_veranstaltungen();
	if(count($veranstalt) == 0) return "<b>Es gibt noch keine Veranstaltungen!</b>";
	else{
		$kurse = array();
		$vorlesung = array();
		for($i = 0; $i < count($veranstalt);$i++){
			$art = 	$veranstalt[$i]['Art'];
			unset($veranstalt[$i]['Art']);
			if(strlen($veranstalt[$i]['Titel']) > 50)
			$veranstalt[$i]['Titel'] = substr($veranstalt[$i]['Titel'],0,50) . "...";
			$veranstalt[$i]['Titel'] = "<a href='?id0=".VER_ID."&id1=".VER_EDIT."&id2=".$veranstalt[$i]['ID']."'>".$veranstalt[$i]['Titel']."</a>";
			if($art == 0){
				array_push($kurse,$veranstalt[$i]);
			}
			else{
				array_push($vorlesung,$veranstalt[$i]);
			}
		}
		$out.= "<h2>Kurse</h2>";
		$table = new HtmlTable();
		$table->setHead($kurse[0]);
		$table->setContent($kurse);
		$out.= $table->getTable();

		$out.= "<h2>Vorlesungen</h2>";
		$table = new HtmlTable();
		$table->setHead($vorlesung[0]);
		$table->setContent($vorlesung);
		$out.= $table->getTable();
	}
	return $out;
}
function veranstaltung_menu(){
	$verID = VER_ID;
	return "<div id='nav-menu2'>
 <ul>
 <li><a href='?id0=$verID'>Alle Anzeigen</a></li>
 <li><a href='?id0=$verID&id1=".VER_EDIT."'>Neue Veranstaltung</a></li>
 </ul>
 </div>";	
}

function editVeranstaltung($id){
	$array = array();
	$out = "";
	if($id == -1){
		$_ENV['cTitle'] = "Neue Veranstaltung hinzufügen";
		//get default array
	}
	else{
		$_ENV['cTitle'] = "Veranstaltung bearbeiten";
		//get array from DB
		$result = db_get_veranstaltung($id);
		if(count($result) == 0){
			return "<b>Diese Veranstaltung ($id) existiert nicht</b>";
		}
		$array = $result[0];
	}
	$out .= veranstaltung_edit_form($array,$id);
	if($id != -1) $out.=editHaelt($id);
	return $out;

}

function veranstaltung_edit_form($data,$id){

	//id, facjbereich,title,content,is_vorlesung,url
	$formdata = array();
	//array(title,type,name,value,other)
	array_push($formdata,array("ID","nonEditable","id",isset($data['id'])? $data['id']: "", ""));
	array_push($formdata,array("Fachbereich","text","fachbereich",isset($data['fachbereich'])? $data['fachbereich']: "", ""));
	array_push($formdata,array("Titel","text","title",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("Inhalt","area","content",isset($data['content'])? $data['content']: "", ""));
	array_push($formdata,array("Art","select","is_vorlesung",isset($data['is_vorlesung'])? $data['is_vorlesung']: "0", array("0"=>"Kurs","1"=>"Vorlesung")));
	array_push($formdata,array("Url","text","url",isset($data['url'])? $data['url']: "", ""));
	array_push($formdata,array("","submit","submit",($id == -1)? "Veranstaltung erstellen":"Veranstaltung speichern", ""));
	return createForm("?id0=".VER_ID."&id1=".VER_UPDATE."&id2=$id", $formdata);
}

function editHaelt($id){
	$result = db_get_haelt($id);
	$out = "<h2>".count($result) . " geplante Veranstaltungen</h2>";
	$out.= help_veranstaltung_haelt_dozenten();
	$out.= help_veranstaltung_haelt_datum();

	//create dozent select

	//create time select
	$selectTime = array();
	for($i = 8; $i < 17;$i++){
		$selectTime["$i:00:00"] = "$i:00";
		$selectTime["$i:30:00"] = "$i:30";
	}
	$rowdata = array();
	{
	$formdata = array();
	array_push($formdata,array("ID","nonEditable","id",""));
	array_push($formdata,array("Veranstaltung","hidden","ver_id",$id, ""));
	array_push($formdata,array("Dozent ID","text","doz_id","", ""));
	array_push($formdata,array("Kosten","text","cost",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("max. Teilnehmer","text","max_subscriber",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("Ort","text","place",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("Datum von","date","fromDate",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("Datum bis","date","toDate",isset($data['title'])? $data['title']: "", ""));
	array_push($formdata,array("Uhrzeit von","select","fromTime",isset($data['is_vorlesung'])? $data['is_vorlesung']: $selectTime["10:00:00"], $selectTime));
	array_push($formdata,array("Uhrzeit bis","select","toTime",isset($data['is_vorlesung'])? $data['is_vorlesung']: $selectTime["12:00:00"], $selectTime));
	array_push($formdata,array("","submit","submit","Neu", ""));
	array_push($rowdata,$formdata);
	}


	for($i = 0; $i < count($result);$i++){
		$data = $result[$i];
		$formdata = array();
		array_push($formdata,array("ID","nonEditable","id",$data['id']));
		array_push($formdata,array("Veranstaltung","hidden","ver_id",$id, ""));
		array_push($formdata,array("Dozent","text","doz_id",$data['doz_id'], ""));
		array_push($formdata,array("Kosten","text","cost",$data['cost'], ""));
		array_push($formdata,array("max. Teilnehmer","text","max_subscriber",$data['max_subscriber'], ""));
		array_push($formdata,array("Ort","text","place",$data['place'], ""));
		array_push($formdata,array("Datum von","date","fromDate",$data['fromDate'], ""));
		array_push($formdata,array("Datum bis","date","toDate",$data['toDate'], ""));
		array_push($formdata,array("Uhrzeit von","select","fromTime",$data['fromTime'], $selectTime));
		array_push($formdata,array("Uhrzeit bis","select","toTime",$data['toTime'], $selectTime));
		array_push($formdata,array("","submit","submit","Speichern", ""));
			
		array_push($rowdata,$formdata);
	}
	$out.= createFormRow("?id0=".VER_ID."&id1=".VER_UPDATE_HAELT."&id2=$id", $rowdata,true);

	return $out;


}


function saveVeranstaltungEdits(){

	//gather and check data
	$data = array();
	if(!isset($_POST['id'],$_POST['fachbereich'],$_POST['title'],$_POST['content'],$_POST['is_vorlesung'],$_POST['url'])) return setFormError("Fehler in der Übertragung der Daten!");
	$data['id'] = $_POST['id'];
	$data['fachbereich'] = $_POST['fachbereich'];
	$data['title'] = $_POST['title'];
	$data['content'] = $_POST['content'];
	$data['is_vorlesung'] = $_POST['is_vorlesung'];
	$data['url'] = $_POST['url'];
	if(db_set_veranstaltung($data)){
		return setFormSuccess("Daten erfolgreich gespeichert");
	}
	else return setFormError("Fehler beim Speichern der Daten");

}

function saveHaelt(){

	//gather and check data
	$data = array();
	if(!isset($_POST['id'],$_POST['ver_id'],$_POST['doz_id'],$_POST['cost'],$_POST['max_subscriber'],$_POST['place'],$_POST['fromDate'],$_POST['toDate'],$_POST['fromTime'],$_POST['toTime'])) return setFormError("Fehler in der Übertragung der Daten!");
	$data['id'] = $_POST['id'];
	$data['ver_id'] = $_POST['ver_id'];
	$data['doz_id'] = $_POST['doz_id'];
	$data['cost'] = $_POST['cost'];
	$data['max_subscriber'] = $_POST['max_subscriber'];
	$data['place'] = $_POST['place'];
	$data['fromDate'] = $_POST['fromDate'];
	$data['toDate'] = $_POST['toDate'];
	$data['fromTime'] = $_POST['fromTime'];
	$data['toTime'] = $_POST['toTime'];
	if(db_set_haelt($data)){
		return setFormSuccess("Daten erfolgreich gespeichert");
	}
	else return setFormError("Fehler beim Speichern der Daten");

}

echo veranstaltung_menu();

if(ID1 == VER_DEFAULT){
	echo defaultVeranstaltungen();
}
if(ID1 == VER_EDIT){
	echo editVeranstaltung(ID2);
}
elseif (ID1 == VER_UPDATE){
	//save, then show
	echo saveVeranstaltungEdits(ID2);
	echo editVeranstaltung(ID2);
}

elseif (ID1 == VER_UPDATE_HAELT){	
	//save, then show
	echo saveHaelt(ID2);
	echo editVeranstaltung(ID2);
}
?>